package org.pay.core.service;

import org.pay.core.entity.TransOrder;

import java.util.List;
import java.util.Map;

/**
 * @author: yangshancheng
 * @date: 17/10/26
 * @description: 转账业务
 */
public interface ITransOrderService {

    Map create(String jsonParam);

    Map select(String jsonParam);

    Map selectByMchIdAndTransOrderId(String jsonParam);

    Map selectByMchIdAndMchTransNo(String jsonParam);

    Map updateStatus4Ing(String jsonParam);

    Map updateStatus4Success(String jsonParam);

    Map updateStatus4Complete(String jsonParam);

    TransOrder findByTransOrderId(String transOrderId);

    List<TransOrder> select(int offset, int limit, TransOrder transOrder);

    Integer count(TransOrder transOrder);

    TransOrder find(TransOrder transOrder);

    TransOrder baseSelectByMchIdAndTransOrderId(Long mchId, String transOrderId);

    TransOrder baseSelectByMchIdAndMchTransNo(Long mchId, String mchTransNo);

    int baseUpdateStatus4Ing(String transOrderId, String channelOrderNo);

    int baseUpdateStatus4Success(String transOrderId);

    int baseUpdateStatus4Success(String transOrderId, String channelOrderNo);

    int baseUpdateStatus4Complete(String transOrderId);

    int baseUpdateStatus4Fail(String transOrderId, String channelErrCode, String channelErrMsg);
}
